home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / menu / Msg.bat < prev    next >
DOS Batch File  |  1995-08-18  |  6KB  |  210 lines

  1. ;    $VER: 1.03 / 18.08.1995
  2. ; Message-Menue
  3. ; -------------
  4. ; Im Menu ist Command-Bit 6 gesetzt. Deshalb kann der User definiert
  5. ; auf Befehle zugreifen, auf die er normalerweise keinen Zugriff hat.
  6. ; Die Variable COM wird zum Erkennen von Fehlern benutzt. Tritt ein
  7. ; Fehler auf, so wird in die Routine SAVE_ERROR verzweigt, die den Fehler
  8. ; im File mbdat:menu.err protokolliert.
  9. ; Die Variable JUMP wird zum eventuellen Sprung von einem Untermenue zum
  10. ; anderen benutzt, ohne das Hauptmenue dazwischen aufzurufen. In dieser
  11. ; Variable muss dann das entsprechende Label des Untermenues stehen.
  12. ; Soll kein Schnell-Wechsel stattfinden, so darf die Variable JUMP nicht
  13. ; geaendert werden.
  14. ;
  15.  
  16. ;
  17. ; **** Message-Menue
  18. ;
  19. MENU="Message"                ; Name des Menues
  20. _on error SAVE_ERROR            ; Beim Fehler -> Fehlerbehandlungsrou.
  21.  
  22. ; Menuetext ausgeben und Tasten abfragen
  23.  
  24. MENU:
  25. COM="MENU"                ; Menupunkt in Variable COM speichern
  26. COMNAME="Message-Menu"            ; WHO-Befehlsname setzen
  27. _menu/file "menu:'{ALANGUAGE}'/msg.txt" -
  28.  "^R" MENU -                ; Bildschirm erneuern
  29.  "B" CLI -                ; Befehleebene
  30.  "D" DOWNLOAD -                ; ZConnect-Download
  31.  "E" CHANGE_BOARDLIST -            ; Brettliste aendern
  32.  "F" FILES -                ; File-Menue
  33.  "L" SHOW_BOARDLIST -            ; Brettliste anschauen
  34.  "N" NEW_READ -                ; Neue Messages anschauen
  35.  "P" PMS -                ; PM-Menue
  36.  "Q" MAIN -                ; Main-Menue
  37.  "R" DATE -                ; Msgs ab Datum als ungelesen markieren
  38.  "S" SELECT -                ; Select (Brett-Direktwahl)
  39.  "U" UPLOAD -                ; ZConnect-Upload
  40.  "V" PACKER -                ; ZConnect-Packer
  41.  "Z" DIRECT                ; Brett-Direktwahl
  42.  
  43. ;
  44. ; **** Endroutine
  45. ; **** Diese Routine muss fuer das Beenden des Menues aufgerufen werden.
  46. ;
  47. END:
  48. _eod                    ; Ende
  49.  
  50. ;
  51. ; **** Rueckkehr in die Befehlsebene
  52. ;
  53. CLI:
  54. COM="CLI"                ; Menupunkt setzen
  55. JUMP=="CLI"                ; Einsprunglabel im Main-Menue setzen
  56. _goto END                ; Ende der Batchdatei
  57.  
  58. ;
  59. ; **** ZConnect-Download
  60. ;
  61. DOWNLOAD:
  62. COM="ZCONNECT DOWNLOAD"            ; Menupunkt setzen
  63. COMNAME=COM                ; WHO-Befehlsname setzen
  64. _if/i {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  65. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  66. _zconnect download            ; ZConnect-Download starten
  67. _gosub WAIT                ; Warte auf Taste
  68. _goto MENU                ; -> Menue
  69.  
  70. ;
  71. ; **** Brettliste aendern
  72. ;
  73. CHANGE_BOARDLIST:
  74. COM="CHANGE BOARDLIST"            ; Menupunkt setzen
  75. COMNAME=COM                ; WHO-Befehlsname setzen
  76. _if/i {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  77. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  78. _read/action=132 :            ; Brettliste aendern
  79. _gosub WAIT                ; Warte auf Taste
  80. _goto MENU                ; -> Menue
  81.  
  82. ;
  83. ; **** File-Menue
  84. ;
  85. FILES:
  86. COM="FILES"                ; Menupunkt setzen
  87. JUMP=="FILES"                ; Einsprunglabel im Main-Menue setzen
  88. _goto END                ; Ende der Batchdatei
  89.  
  90. ;
  91. ; **** Brettliste anschauen
  92. ;
  93. SHOW_BOARDLIST:
  94. COM="SHOW BOARDLIST"            ; Menupunkt setzen
  95. COMNAME=COM                ; WHO-Befehlsname setzen
  96. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  97. _show boardlist                ; Brettliste anschauen
  98. _gosub WAIT                ; Warte auf Taste
  99. _goto MENU                ; -> Menue
  100.  
  101. ;
  102. ; **** Alle neue Messages lesen
  103. ;
  104. NEW_READ:
  105. COM="RN"                ; Menupunkt setzen
  106. COMNAME=COM                ; WHO-Befehlsname setzen
  107. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  108. _rn                    ; Neue Messages lesen
  109. _goto MENU                ; -> Menue
  110.  
  111. ;
  112. ; **** PM-Menue
  113. ;
  114. PMS:
  115. COM="PMS"                ; Menupunkt setzen
  116. JUMP=="PMS"                ; Einsprunglabel im Main-Menue setzen
  117. _goto END                ; Ende der Batchdatei
  118.  
  119. ;
  120. ; **** Main-Menue
  121. ;
  122. MAIN:
  123. COM="MAIN"                ; Menupunkt setzen
  124. _goto END                ; Ende der Batchdatei
  125.  
  126. ;
  127. ; **** Messages ab Datum als ungelesen markieren
  128. ;
  129. DATE:
  130. COM="READ/DATE"                ; Menupunkt setzen
  131. COMNAME=COM                ; WHO-Befehlsname setzen
  132. _disk text "menu:'{alanguage}'/read_date.txt" ; Text anzeigen
  133. _input/maxlength=20 DATE        ; Datum eingeben
  134. _if DATE != "" then _read/date='DATE'    ; Message ab Datum als ungelesen markieren
  135. _goto MENU                ; -> Menue
  136.  
  137. ;
  138. ; **** ZConnect-Packer
  139. ;
  140. PACKER:
  141. COM="ZCONNECT PACKER"            ; Menupunkt setzen
  142. COMNAME=COM                ; WHO-Befehlsname setzen
  143. _if/i {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  144. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  145. _zconnect packer            ; ZConnect-Packer starten
  146. _gosub WAIT                ; Warte auf Taste
  147. _goto MENU                ; -> Menue
  148.  
  149. ;
  150. ; **** Brettliste anschauen
  151. ;
  152. SELECT:
  153. COM="SELECT"                ; Menupunkt setzen
  154. COMNAME=COM                ; WHO-Befehlsname setzen
  155. _select                    ; Brett-Direktwahl starten
  156. _goto MENU                ; -> Menue
  157.  
  158. ;
  159. ; **** ZConnect-Upload
  160. ;
  161. UPLOAD:
  162. COM="ZCONNECT UPLOAD"            ; Menupunkt setzen
  163. COMNAME=COM                ; WHO-Befehlsname setzen
  164. _if/i {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  165. _echo "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  166. _zconnect upload            ; ZConnect-Upload starten
  167. _gosub WAIT                ; Warte auf Taste
  168. _goto MENU                ; -> Menue
  169.  
  170. ;
  171. ; **** Brett-Direktwahl
  172. ;
  173. DIRECT:
  174. COM="DIRECT"                ; Menupunkt setzen
  175. _disk execute "menu:msg-direct.bat"    ; Direktwahl starten
  176. _if JUMP != JUMP_MAIN then _goto END    ; Wenn direkter Menuewechsel -> Ende
  177. _goto MENU                ; -> Menue
  178.  
  179. ;
  180. ; **** SUBROUTINE: Gib einen Infotext aus und warte auf Taste
  181. ;
  182. WAIT:
  183. COM_OLD=COM                ; Alten Menupunkt retten
  184. COM="WAIT"                ; Neuen Menupunkt setzen
  185. _echo/nolf "^J[RETURN]"            ; Gib Wartemeldung aus
  186. _waitkey " ^M"                ; Warte auf Space oder Return
  187. COM=COM_OLD                ; Alten Menupunkt setzen
  188. _return                    ; Ende der Unterroutine
  189.  
  190. ;
  191. ; **** Fehlerbehandlungs-Routine
  192. ;
  193. ; Die Routine erwartet in der Variable COM den Namen des akt. Menupunkts.
  194. ; Sie protokolliert im File mbdat:menu.err die Fehler des Menues.
  195. ;
  196. SAVE_ERROR:
  197. _on error/ignore            ; Alle Fehler ignorieren
  198. _extern echo >>mbdat:menu.err "------------------"
  199. _extern echo >>mbdat:menu.err "Fehler im Menu"
  200. _extern echo >>mbdat:menu.err "Menu : 'MENU'"
  201. _extern echo >>mbdat:menu.err "Punkt: 'COM'"
  202. _extern echo >>mbdat:menu.err "User : '{NAME}'"
  203. _extern echo >>mbdat:menu.err "Datum: '{DATE}'"
  204. _extern echo >>mbdat:menu.err "Zeit : '{TIME}'"
  205. _extern echo >>mbdat:menu.err "------------------"
  206. _disk text "menu:'{ALANGUAGE}'/Error.txt"  ; Fehlertext anzeigen
  207. _waitkey " ^M"
  208. _if COM == "Menu" then _goto END    ; Wenn Fehler im Menue -> Main-Menue
  209. _goto MENU                ; -> Menue
  210.